1. Field of the Invention
The present invention relates generally to a Code Division Multiple Access (CDMA) system and particularly to complexity reduction of linear interference cancellation schemes for CDMA systems.
2. Background of the Present Invention
In a CDMA system, several data sequences can be sent in parallel using different spreading codes. The spreading codes are preferably orthogonal to each other to enable better detection by the receiver. The receiver detects a desired signal from several data sequences by a despreading process using the spreading code associated with the desired received signal. The spreading codes used for a CDMA system are chosen to have a relatively low cross-correlation between any two sequences in the set. Each user in a CDMA system can in parallel be sending several different data sequences, where each data sequence is part of different signals, each signal being associated with a specific spreading code. In an ideal case, the spreading codes are orthogonal to illuminate the cross-correlation between the signals. However, in a non-ideal world, interference nonetheless occurs in the CDMA system due to cross correlation between the spreading codes assigned to users, but should be sufficiently low to provide fairly good performance. In the downlink channel, orthogonality is lost due to various distortion aspects affecting the transmitted signal, such as multipath propagation. Hence, the spreading codes lose their orthogonality with each other which results in performance degradation.
In uplink communication, the codes will never be orthogonal in view of the lack of synchronization between different data streams since there is no control on the propagation delay from individual users which is required to ensure orthogonality. Therefore, the transmitted data sequences can not be perfectly recovered by a RAKE receiver. As is well known in the art, there are techniques to improve the receiver performance, such as interference cancellation techniques, interference suppression techniques and/or multiuser detection techniques.
As is well known to those skilled in the art, Interference Cancellation (IC) is performed to cancel the interference caused by other data streams on the data streams of interest. Most commonly, the interference cancellation techniques used are successive interference cancellation (SIC) and parallel interference cancellation (PIC) or combinations thereof.
FIG. 1 illustrates a conventional successive interference cancellation (SIC) receiver unit for three codes (k) (i.e., three user signals) and two stages (110, 130): i.e., interference canceled twice. Symbols for a data stream are detected and used to cancel their influence on the received symbols of other data streams before detecting the next data stream symbols. User data streams' influence are preferably canceled in order of their descending signal strength, since the strongest data stream contributes the most to the multiple access interference (MAI) in the system. Thus, the influence of the strongest signal received for a data stream is canceled from all other data streams. Another reason for canceling the strongest signal first is that the data estimate in that signal usually is the most reliable one. The interference cancellation process can be repeated several times e.g., two stages as shown in FIG. 1, to improve the reliability of the data estimation.
Considering the first stage of the SIC scheme, the data sequence r is received 102 by the receiver and supplied to an Interference Cancellation Unit (ICU) 110a associated with the first spreading code, shown within dashed lines. The data sequence 102, received by the ICU is despread 112a by a spreading code convolved with the channel estimate of user channel (hereinafter referred to as convolution sequence and denoted SK), and is preferably normalized such that Sk′Sk=1, where Sk′ is the complex conjugate of Sk. As shown In FIG. 1, the received data sequence is despread 112a by Sk′, RAKE receiver function, and added 120a to the previously detected soft values (previously stored RAKE receiver result) 122a to form the estimate symbol of the user 124a. However, in the first stage there is no previous detected soft values, and the soft values of the despread sequence (X11) are the same as the soft values of the despread sequence (Y11) after the addition operation 120a. The despread sequence (Y11) is stored to be used in later stages. Meanwhile, the soft values (result of RAKE receiver function 112a) are respread 116a to enable subtraction 126a from the received data sequence r (102) used for the second code. After subtracting the respread soft values from the received data sequence, the result is used in a similar process as described above for the second user code using the ICU 110b. Specifically, the output respread signal of the second ICU 110b is subtracted 126b from the data sequence r1 to produce data sequence r2 having the first and second user estimate influence removed therefrom. A further similar process is used for a third user using ICU 110c. After all users' symbol estimates have been removed from the received signal, the remainder (r3) is employed to perform the whole interference cancellation operation described above, a determined number of stages thereafter. As shown in FIG. 1, a second stage 130 is employed which performs the same operations as the previous stage. The second stage is mainly used to correct the inaccuracy of each user's symbol estimate, which is due to the non-orthogonality between the codes. The non-orthogonality between the codes prevents the precise contribution of a user's signal to be extracted exactly while ignoring the contribution of other users signals. However, the contribution detected in the second stage is added to the contribution extracted in the first stage and used to provide a better estimation. Processing delays 128a, 128b and 128c are introduced in the system to delay the data sequence before the subtraction operations 126a, 126b and 126c for each code interference cancellation operation and at each stage (iteration). These delays account for the time used in the despreading and the respreading operations in the ICU. The despread data sequences within the ICUs for each user and at each stage are soft values, and there is no hard decision (discrete values) or other mapping function applied inside the ICUs. It should be understood that despite the fact that the ICUs do not perform a hard decision, after the last stage, a hard decision should be performed to transform the last accumulated estimate into a symbol decision. This can be performed by a hard-decision device (not shown in the figure).
FIG. 2A illustrates a similar receiver implementing a parallel interference cancellation (PIC) scheme. The PIC scheme is similar to the SIC scheme with minor differences. The received data sequence r 202 is supplied to all the ICUs (210a-c) corresponding to all the users's at a specific stage, which reduces the processing delay in the receiver compared to the SIC scheme. The received data sequence r 202 is despread (212a-c) and respread (216a-c), as explained above, by all user's codes before the influence/contribution of all the user's codes signals are subtracted (226a-c) concurrently from the received data sequence r 202. In other words, all the ICUs, at each stage, despread the same data sequence before their contribution is subtracted. Consequently, the processing delay 228 introduced to compensate for the delay in the despreading and respreading operations is reduced to only one delay for all the users at each stage compared to multiple delays in the SIC scheme.
As is understood by those skilled in the art, both the SIC and the PIC can be combined to form a hybrid interference cancellation (HIC) scheme which performs detection of groups of users signals successively. Within each group, the detection is performed in parallel. FIG. 2B illustrates a conventional receiver implementing the HIC scheme. The data sequence is received and detected for the first two spreading codes using the two ICUs 260a and 260b in a similar way as the PIC. The estimate of the first two users' symbols are added together using adders 275a and 275b. This result is the combination of the effect of the two users' symbols on the data sequence. This result is then subtracted 276a to remove the contribution of these two users' symbols. The modified data sequence r2 is then used by the third ICU 260c to estimate the third user's symbol and subtract/remove the estimated influence from the modified data sequence r2. The process is repeated depending on the number of stages implemented. The HIC unit shown in FIG. 2B detects and removes the influence of the first two users in parallel and then detects and removes the influence of the third user.
The SIC, PIC and HIC schemes, described above, have several disadvantages and limitations when implemented in a receiver. One of the disadvantages is that for every user in the system, there has to be at least one ICU. This increases the hardware requirements in a receiver system with multi-users and/or multi-stages. Another shortcoming of the above described conventional schemes is that all detected data sequences are propagated and stored, which is not required in downlink communication in which only one or a few data sequence streams are of interest at one terminal. A further disadvantage is the inflexibility of the presented implementation of the schemes, as different receiver structures are required to realize the SIC, PIC and HIC schemes. Yet another disadvantage is the use of different blocks (processing elements) within the ICU to perform the despreading and the respreading operations, thus requiring a greater amount of hardware.
It is therefore an object of the present invention to overcome the disadvantages and shortcomings described above in addition to providing other novel features described and shown hereinafter.